home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / ComponentIncludes / QuickTimeComponents.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  90.3 KB  |  1,765 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        QuickTimeComponents.k.h
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    © 1990-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef ___QUICKTIMECOMPONENTS_K__
  18. #define ___QUICKTIMECOMPONENTS_K__
  19.  
  20. #include <QuickTimeComponents.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define CLOCK_BASENAME()    Fred
  26.         #define CLOCK_GLOBALS()    FredGlobalsHandle
  27.         #include <QuickTimeComponents.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define CLOCK_GLOBALS
  30. */
  31. #ifdef CLOCK_BASENAME
  32.     #ifndef CLOCK_GLOBALS
  33.         #define CLOCK_GLOBALS() 
  34.         #define ADD_CLOCK_COMMA 
  35.     #else
  36.         #define ADD_CLOCK_COMMA ,
  37.     #endif
  38.     #define CLOCK_GLUE(a,b) a##b
  39.     #define CLOCK_STRCAT(a,b) CLOCK_GLUE(a,b)
  40.     #define ADD_CLOCK_BASENAME(name) CLOCK_STRCAT(CLOCK_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetTime) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeRecord * out);
  43.  
  44.     EXTERN_API( QTCallBack  ) ADD_CLOCK_BASENAME(NewCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb, short  callBackType);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(DisposeCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CallMeWhen) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, long  param1, long  param2, long  param3);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CancelCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(RateChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(TimeChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(SetTimeBase) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(StartStopChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, Boolean  startChanged, Boolean  stopChanged);
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetRate) (CLOCK_GLOBALS() ADD_CLOCK_COMMA Fixed * rate);
  61.  
  62.  
  63.     /* MixedMode ProcInfo constants for component calls */
  64.     enum {
  65.         uppClockGetTimeProcInfo = 0x000003F0,
  66.         uppClockNewCallBackProcInfo = 0x00000BF0,
  67.         uppClockDisposeCallBackProcInfo = 0x000003F0,
  68.         uppClockCallMeWhenProcInfo = 0x0000FFF0,
  69.         uppClockCancelCallBackProcInfo = 0x000003F0,
  70.         uppClockRateChangedProcInfo = 0x000003F0,
  71.         uppClockTimeChangedProcInfo = 0x000003F0,
  72.         uppClockSetTimeBaseProcInfo = 0x000003F0,
  73.         uppClockStartStopChangedProcInfo = 0x000017F0,
  74.         uppClockGetRateProcInfo = 0x000003F0
  75.     };
  76.  
  77. #endif    /* CLOCK_BASENAME */
  78.  
  79. /*
  80.     Example usage:
  81.  
  82.         #define SC_BASENAME()    Fred
  83.         #define SC_GLOBALS()    FredGlobalsHandle
  84.         #include <QuickTimeComponents.k.h>
  85.  
  86.     To specify that your component implementation does not use globals, do not #define SC_GLOBALS
  87. */
  88. #ifdef SC_BASENAME
  89.     #ifndef SC_GLOBALS
  90.         #define SC_GLOBALS() 
  91.         #define ADD_SC_COMMA 
  92.     #else
  93.         #define ADD_SC_COMMA ,
  94.     #endif
  95.     #define SC_GLUE(a,b) a##b
  96.     #define SC_STRCAT(a,b) SC_GLUE(a,b)
  97.     #define ADD_SC_BASENAME(name) SC_STRCAT(SC_BASENAME(),name)
  98.  
  99.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressionExtended) (SC_GLOBALS() ADD_SC_COMMA SCParams * params, Point  where, SCModalFilterUPP  filterProc, SCModalHookUPP  hookProc, long  refcon, StringPtr  customName);
  100.  
  101.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionRect) (SC_GLOBALS() ADD_SC_COMMA Rect * rp, Point * where);
  102.  
  103.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionDialog) (SC_GLOBALS() ADD_SC_COMMA short  id, Point * where);
  104.  
  105.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictHandle) (SC_GLOBALS() ADD_SC_COMMA PicHandle  testPict, Rect * testRect, short  testFlags);
  106.  
  107.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictFile) (SC_GLOBALS() ADD_SC_COMMA short  testFileRef, Rect * testRect, short  testFlags);
  108.  
  109.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePixMap) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  testPixMap, Rect * testRect, short  testFlags);
  110.  
  111.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetBestDeviceRect) (SC_GLOBALS() ADD_SC_COMMA Rect * r);
  112.  
  113.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestImageSettings) (SC_GLOBALS());
  114.  
  115.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressImage) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc, Handle * data);
  116.  
  117.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPicture) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, PicHandle  dstPicture);
  118.  
  119.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPictureFile) (SC_GLOBALS() ADD_SC_COMMA short  srcRefNum, short  dstRefNum);
  120.  
  121.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestSequenceSettings) (SC_GLOBALS());
  122.  
  123.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceBegin) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc);
  124.  
  125.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceFrame) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, Handle * data, long * dataSize, short * notSyncFlag);
  126.  
  127.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceEnd) (SC_GLOBALS());
  128.  
  129.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictHandleSettings) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, short  motion);
  130.  
  131.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictFileSettings) (SC_GLOBALS() ADD_SC_COMMA short  srcRef, short  motion);
  132.  
  133.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPixMapSettings) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, short  motion);
  134.  
  135.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  136.  
  137.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  138.  
  139.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(NewGWorld) (SC_GLOBALS() ADD_SC_COMMA GWorldPtr * gwp, Rect * rp, GWorldFlags  flags);
  140.  
  141.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long  flags);
  142.  
  143.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long * flags);
  144.  
  145.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsText) (SC_GLOBALS() ADD_SC_COMMA Handle * text);
  146.  
  147.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer * settings);
  148.  
  149.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetSettingsFromAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer  settings);
  150.  
  151.  
  152.     /* MixedMode ProcInfo constants for component calls */
  153.     enum {
  154.         uppSCGetCompressionExtendedProcInfo = 0x000FFFF0,
  155.         uppSCPositionRectProcInfo = 0x00000FF0,
  156.         uppSCPositionDialogProcInfo = 0x00000EF0,
  157.         uppSCSetTestImagePictHandleProcInfo = 0x00002FF0,
  158.         uppSCSetTestImagePictFileProcInfo = 0x00002EF0,
  159.         uppSCSetTestImagePixMapProcInfo = 0x00002FF0,
  160.         uppSCGetBestDeviceRectProcInfo = 0x000003F0,
  161.         uppSCRequestImageSettingsProcInfo = 0x000000F0,
  162.         uppSCCompressImageProcInfo = 0x0000FFF0,
  163.         uppSCCompressPictureProcInfo = 0x00000FF0,
  164.         uppSCCompressPictureFileProcInfo = 0x00000AF0,
  165.         uppSCRequestSequenceSettingsProcInfo = 0x000000F0,
  166.         uppSCCompressSequenceBeginProcInfo = 0x00003FF0,
  167.         uppSCCompressSequenceFrameProcInfo = 0x0003FFF0,
  168.         uppSCCompressSequenceEndProcInfo = 0x000000F0,
  169.         uppSCDefaultPictHandleSettingsProcInfo = 0x00000BF0,
  170.         uppSCDefaultPictFileSettingsProcInfo = 0x00000AF0,
  171.         uppSCDefaultPixMapSettingsProcInfo = 0x00000BF0,
  172.         uppSCGetInfoProcInfo = 0x00000FF0,
  173.         uppSCSetInfoProcInfo = 0x00000FF0,
  174.         uppSCNewGWorldProcInfo = 0x00003FF0,
  175.         uppSCSetCompressFlagsProcInfo = 0x000003F0,
  176.         uppSCGetCompressFlagsProcInfo = 0x000003F0,
  177.         uppSCGetSettingsAsTextProcInfo = 0x000003F0,
  178.         uppSCGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  179.         uppSCSetSettingsFromAtomContainerProcInfo = 0x000003F0
  180.     };
  181.  
  182. #endif    /* SC_BASENAME */
  183.  
  184. /*
  185.     Example usage:
  186.  
  187.         #define TWEENER_BASENAME()    Fred
  188.         #define TWEENER_GLOBALS()    FredGlobalsHandle
  189.         #include <QuickTimeComponents.k.h>
  190.  
  191.     To specify that your component implementation does not use globals, do not #define TWEENER_GLOBALS
  192. */
  193. #ifdef TWEENER_BASENAME
  194.     #ifndef TWEENER_GLOBALS
  195.         #define TWEENER_GLOBALS() 
  196.         #define ADD_TWEENER_COMMA 
  197.     #else
  198.         #define ADD_TWEENER_COMMA ,
  199.     #endif
  200.     #define TWEENER_GLUE(a,b) a##b
  201.     #define TWEENER_STRCAT(a,b) TWEENER_GLUE(a,b)
  202.     #define ADD_TWEENER_BASENAME(name) TWEENER_STRCAT(TWEENER_BASENAME(),name)
  203.  
  204.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Initialize) (TWEENER_GLOBALS() ADD_TWEENER_COMMA QTAtomContainer  container, QTAtom  tweenAtom, QTAtom  dataAtom);
  205.  
  206.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(DoTween) (TWEENER_GLOBALS() ADD_TWEENER_COMMA TweenRecord * tr);
  207.  
  208.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Reset) (TWEENER_GLOBALS());
  209.  
  210.  
  211.     /* MixedMode ProcInfo constants for component calls */
  212.     enum {
  213.         uppTweenerInitializeProcInfo = 0x00003FF0,
  214.         uppTweenerDoTweenProcInfo = 0x000003F0,
  215.         uppTweenerResetProcInfo = 0x000000F0
  216.     };
  217.  
  218. #endif    /* TWEENER_BASENAME */
  219.  
  220. /*
  221.     Example usage:
  222.  
  223.         #define TC_BASENAME()    Fred
  224.         #define TC_GLOBALS()    FredGlobalsHandle
  225.         #include <QuickTimeComponents.k.h>
  226.  
  227.     To specify that your component implementation does not use globals, do not #define TC_GLOBALS
  228. */
  229. #ifdef TC_BASENAME
  230.     #ifndef TC_GLOBALS
  231.         #define TC_GLOBALS() 
  232.         #define ADD_TC_COMMA 
  233.     #else
  234.         #define ADD_TC_COMMA ,
  235.     #endif
  236.     #define TC_GLUE(a,b) a##b
  237.     #define TC_STRCAT(a,b) TC_GLUE(a,b)
  238.     #define ADD_TC_BASENAME(name) TC_STRCAT(TC_BASENAME(),name)
  239.  
  240.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetCurrentTimeCode) (TC_GLOBALS() ADD_TC_COMMA long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcrec, UserData * srcRefH);
  241.  
  242.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeAtTime) (TC_GLOBALS() ADD_TC_COMMA TimeValue  mediaTime, long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcdata, UserData * srcRefH);
  243.  
  244.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToString) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, StringPtr  tcStr);
  245.  
  246.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToFrameNumber) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, long * frameNumber);
  247.  
  248.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(FrameNumberToTimeCode) (TC_GLOBALS() ADD_TC_COMMA long  frameNumber, TimeCodeDef * tcdef, TimeCodeRecord * tcrec);
  249.  
  250.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData * srefH);
  251.  
  252.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData  srefH);
  253.  
  254.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long  flags, long  flagsMask);
  255.  
  256.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long * flags);
  257.  
  258.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  259.  
  260.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  261.  
  262.  
  263.     /* MixedMode ProcInfo constants for component calls */
  264.     enum {
  265.         uppTCGetCurrentTimeCodeProcInfo = 0x0000FFF0,
  266.         uppTCGetTimeCodeAtTimeProcInfo = 0x0003FFF0,
  267.         uppTCTimeCodeToStringProcInfo = 0x00003FF0,
  268.         uppTCTimeCodeToFrameNumberProcInfo = 0x00003FF0,
  269.         uppTCFrameNumberToTimeCodeProcInfo = 0x00003FF0,
  270.         uppTCGetSourceRefProcInfo = 0x00000FF0,
  271.         uppTCSetSourceRefProcInfo = 0x00000FF0,
  272.         uppTCSetTimeCodeFlagsProcInfo = 0x00000FF0,
  273.         uppTCGetTimeCodeFlagsProcInfo = 0x000003F0,
  274.         uppTCSetDisplayOptionsProcInfo = 0x000003F0,
  275.         uppTCGetDisplayOptionsProcInfo = 0x000003F0
  276.     };
  277.  
  278. #endif    /* TC_BASENAME */
  279.  
  280. /*
  281.     Example usage:
  282.  
  283.         #define MOVIEIMPORT_BASENAME()    Fred
  284.         #define MOVIEIMPORT_GLOBALS()    FredGlobalsHandle
  285.         #include <QuickTimeComponents.k.h>
  286.  
  287.     To specify that your component implementation does not use globals, do not #define MOVIEIMPORT_GLOBALS
  288. */
  289. #ifdef MOVIEIMPORT_BASENAME
  290.     #ifndef MOVIEIMPORT_GLOBALS
  291.         #define MOVIEIMPORT_GLOBALS() 
  292.         #define ADD_MOVIEIMPORT_COMMA 
  293.     #else
  294.         #define ADD_MOVIEIMPORT_COMMA ,
  295.     #endif
  296.     #define MOVIEIMPORT_GLUE(a,b) a##b
  297.     #define MOVIEIMPORT_STRCAT(a,b) MOVIEIMPORT_GLUE(a,b)
  298.     #define ADD_MOVIEIMPORT_BASENAME(name) MOVIEIMPORT_STRCAT(MOVIEIMPORT_BASENAME(),name)
  299.  
  300.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Handle) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataH, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  301.  
  302.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(File) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  303.  
  304.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration, TimeScale  scale);
  305.  
  306.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  307.  
  308.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetMediaFile) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA AliasHandle  alias);
  309.  
  310.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDimensions) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Fixed  width, Fixed  height);
  311.  
  312.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetChunkSize) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  chunkSize);
  313.  
  314.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetProgressProc) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA MovieProgressUPP  proc, long  refcon);
  315.  
  316.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetAuxiliaryData) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  data, OSType  handleType);
  317.  
  318.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetFromScrap) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean  fromScrap);
  319.  
  320.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DoUserDialog) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * canceled);
  321.  
  322.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration);
  323.  
  324.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetAuxiliaryDataType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * auxType);
  325.  
  326.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Validate) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * valid);
  327.  
  328.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetFileType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * fileType);
  329.  
  330.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DataRef) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  331.  
  332.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle * desc, OSType * mediaType);
  333.  
  334.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMIMETypeList) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * mimeInfo);
  335.  
  336.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA unsigned long  offset, unsigned long  limit);
  337.  
  338.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * settings);
  339.  
  340.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer  settings);
  341.  
  342.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit64) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const wide * offset, const wide * limit);
  343.  
  344.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Idle) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  inFlags, long * outFlags);
  345.  
  346.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(ValidateDataRef) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataRef, OSType  dataRefType, UInt8 * valid);
  347.  
  348.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetLoadState) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long * importerLoadState);
  349.  
  350.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMaxLoadedTime) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue * time);
  351.  
  352.  
  353.     /* MixedMode ProcInfo constants for component calls */
  354.     enum {
  355.         uppMovieImportHandleProcInfo = 0x00FFFFF0,
  356.         uppMovieImportFileProcInfo = 0x00FFFFF0,
  357.         uppMovieImportSetSampleDurationProcInfo = 0x00000FF0,
  358.         uppMovieImportSetSampleDescriptionProcInfo = 0x00000FF0,
  359.         uppMovieImportSetMediaFileProcInfo = 0x000003F0,
  360.         uppMovieImportSetDimensionsProcInfo = 0x00000FF0,
  361.         uppMovieImportSetChunkSizeProcInfo = 0x000003F0,
  362.         uppMovieImportSetProgressProcProcInfo = 0x00000FF0,
  363.         uppMovieImportSetAuxiliaryDataProcInfo = 0x00000FF0,
  364.         uppMovieImportSetFromScrapProcInfo = 0x000001F0,
  365.         uppMovieImportDoUserDialogProcInfo = 0x00003FF0,
  366.         uppMovieImportSetDurationProcInfo = 0x000003F0,
  367.         uppMovieImportGetAuxiliaryDataTypeProcInfo = 0x000003F0,
  368.         uppMovieImportValidateProcInfo = 0x00003FF0,
  369.         uppMovieImportGetFileTypeProcInfo = 0x000003F0,
  370.         uppMovieImportDataRefProcInfo = 0x03FFFFF0,
  371.         uppMovieImportGetSampleDescriptionProcInfo = 0x00000FF0,
  372.         uppMovieImportGetMIMETypeListProcInfo = 0x000003F0,
  373.         uppMovieImportSetOffsetAndLimitProcInfo = 0x00000FF0,
  374.         uppMovieImportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  375.         uppMovieImportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
  376.         uppMovieImportSetOffsetAndLimit64ProcInfo = 0x00000FF0,
  377.         uppMovieImportIdleProcInfo = 0x00000FF0,
  378.         uppMovieImportValidateDataRefProcInfo = 0x00003FF0,
  379.         uppMovieImportGetLoadStateProcInfo = 0x000003F0,
  380.         uppMovieImportGetMaxLoadedTimeProcInfo = 0x000003F0
  381.     };
  382.  
  383. #endif    /* MOVIEIMPORT_BASENAME */
  384.  
  385. /*
  386.     Example usage:
  387.  
  388.         #define MOVIEEXPORT_BASENAME()    Fred
  389.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  390.         #include <QuickTimeComponents.k.h>
  391.  
  392.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  393. */
  394. #ifdef MOVIEEXPORT_BASENAME
  395.     #ifndef MOVIEEXPORT_GLOBALS
  396.         #define MOVIEEXPORT_GLOBALS() 
  397.         #define ADD_MOVIEEXPORT_COMMA 
  398.     #else
  399.         #define ADD_MOVIEEXPORT_COMMA ,
  400.     #endif
  401.     #define MOVIEEXPORT_GLUE(a,b) a##b
  402.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  403.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  404.  
  405.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToHandle) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  406.  
  407.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToFile) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  408.  
  409.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetAuxiliaryData) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, OSType * handleType);
  410.  
  411.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetProgressProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieProgressUPP  proc, long  refcon);
  412.  
  413.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSampleDescription) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  414.  
  415.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DoUserDialog) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration, Boolean * canceled);
  416.  
  417.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetCreatorType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * creator);
  418.  
  419.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  420.  
  421.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(FromProceduresToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType);
  422.  
  423.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(AddDataSource) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale  scale, long * trackID, MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  424.  
  425.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(Validate) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, Boolean * valid);
  426.  
  427.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer * settings);
  428.  
  429.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer  settings);
  430.  
  431.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetFileNameExtension) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * extension);
  432.  
  433.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetShortFileTypeString) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Str255  typeString);
  434.  
  435.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSourceMediaType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * mediaType);
  436.  
  437.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetGetMoviePropertyProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, void * refCon);
  438.  
  439.  
  440.     /* MixedMode ProcInfo constants for component calls */
  441.     enum {
  442.         uppMovieExportToHandleProcInfo = 0x0003FFF0,
  443.         uppMovieExportToFileProcInfo = 0x0003FFF0,
  444.         uppMovieExportGetAuxiliaryDataProcInfo = 0x00000FF0,
  445.         uppMovieExportSetProgressProcProcInfo = 0x00000FF0,
  446.         uppMovieExportSetSampleDescriptionProcInfo = 0x00000FF0,
  447.         uppMovieExportDoUserDialogProcInfo = 0x0003FFF0,
  448.         uppMovieExportGetCreatorTypeProcInfo = 0x000003F0,
  449.         uppMovieExportToDataRefProcInfo = 0x000FFFF0,
  450.         uppMovieExportFromProceduresToDataRefProcInfo = 0x00000FF0,
  451.         uppMovieExportAddDataSourceProcInfo = 0x000FFFF0,
  452.         uppMovieExportValidateProcInfo = 0x00003FF0,
  453.         uppMovieExportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  454.         uppMovieExportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
  455.         uppMovieExportGetFileNameExtensionProcInfo = 0x000003F0,
  456.         uppMovieExportGetShortFileTypeStringProcInfo = 0x000003F0,
  457.         uppMovieExportGetSourceMediaTypeProcInfo = 0x000003F0,
  458.         uppMovieExportSetGetMoviePropertyProcProcInfo = 0x00000FF0
  459.     };
  460.  
  461. #endif    /* MOVIEEXPORT_BASENAME */
  462.  
  463. /*
  464.     Example usage:
  465.  
  466.         #define TEXTEXPORT_BASENAME()    Fred
  467.         #define TEXTEXPORT_GLOBALS()    FredGlobalsHandle
  468.         #include <QuickTimeComponents.k.h>
  469.  
  470.     To specify that your component implementation does not use globals, do not #define TEXTEXPORT_GLOBALS
  471. */
  472. #ifdef TEXTEXPORT_BASENAME
  473.     #ifndef TEXTEXPORT_GLOBALS
  474.         #define TEXTEXPORT_GLOBALS() 
  475.         #define ADD_TEXTEXPORT_COMMA 
  476.     #else
  477.         #define ADD_TEXTEXPORT_COMMA ,
  478.     #endif
  479.     #define TEXTEXPORT_GLUE(a,b) a##b
  480.     #define TEXTEXPORT_STRCAT(a,b) TEXTEXPORT_GLUE(a,b)
  481.     #define ADD_TEXTEXPORT_BASENAME(name) TEXTEXPORT_STRCAT(TEXTEXPORT_BASENAME(),name)
  482.  
  483.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetDisplayData) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA TextDisplayData * textDisplay);
  484.  
  485.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * movieTimeFraction);
  486.  
  487.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  movieTimeFraction);
  488.  
  489.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * setting);
  490.  
  491.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  setting);
  492.  
  493. #endif    /* TEXTEXPORT_BASENAME */
  494.  
  495. /*
  496.     Example usage:
  497.  
  498.         #define MIDIIMPORT_BASENAME()    Fred
  499.         #define MIDIIMPORT_GLOBALS()    FredGlobalsHandle
  500.         #include <QuickTimeComponents.k.h>
  501.  
  502.     To specify that your component implementation does not use globals, do not #define MIDIIMPORT_GLOBALS
  503. */
  504. #ifdef MIDIIMPORT_BASENAME
  505.     #ifndef MIDIIMPORT_GLOBALS
  506.         #define MIDIIMPORT_GLOBALS() 
  507.         #define ADD_MIDIIMPORT_COMMA 
  508.     #else
  509.         #define ADD_MIDIIMPORT_COMMA ,
  510.     #endif
  511.     #define MIDIIMPORT_GLUE(a,b) a##b
  512.     #define MIDIIMPORT_STRCAT(a,b) MIDIIMPORT_GLUE(a,b)
  513.     #define ADD_MIDIIMPORT_BASENAME(name) MIDIIMPORT_STRCAT(MIDIIMPORT_BASENAME(),name)
  514.  
  515.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(GetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long * setting);
  516.  
  517.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(SetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long  setting);
  518.  
  519. #endif    /* MIDIIMPORT_BASENAME */
  520.  
  521. /*
  522.     Example usage:
  523.  
  524.         #define MOVIEEXPORT_BASENAME()    Fred
  525.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  526.         #include <QuickTimeComponents.k.h>
  527.  
  528.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  529. */
  530. #ifdef MOVIEEXPORT_BASENAME
  531.     #ifndef MOVIEEXPORT_GLOBALS
  532.         #define MOVIEEXPORT_GLOBALS() 
  533.         #define ADD_MOVIEEXPORT_COMMA 
  534.     #else
  535.         #define ADD_MOVIEEXPORT_COMMA ,
  536.     #endif
  537.     #define MOVIEEXPORT_GLUE(a,b) a##b
  538.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  539.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  540.  
  541.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(NewGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale * scale, Movie  theMovie, Track  theTrack, TimeValue  startTime, TimeValue  duration, MovieExportGetPropertyUPP * getPropertyProc, MovieExportGetDataUPP * getDataProc, void ** refCon);
  542.  
  543.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DisposeGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  544.  
  545. #endif    /* MOVIEEXPORT_BASENAME */
  546.  
  547. /*
  548.     Example usage:
  549.  
  550.         #define GRAPHICSIMAGEIMPORT_BASENAME()    Fred
  551.         #define GRAPHICSIMAGEIMPORT_GLOBALS()    FredGlobalsHandle
  552.         #include <QuickTimeComponents.k.h>
  553.  
  554.     To specify that your component implementation does not use globals, do not #define GRAPHICSIMAGEIMPORT_GLOBALS
  555. */
  556. #ifdef GRAPHICSIMAGEIMPORT_BASENAME
  557.     #ifndef GRAPHICSIMAGEIMPORT_GLOBALS
  558.         #define GRAPHICSIMAGEIMPORT_GLOBALS() 
  559.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA 
  560.     #else
  561.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA ,
  562.     #endif
  563.     #define GRAPHICSIMAGEIMPORT_GLUE(a,b) a##b
  564.     #define GRAPHICSIMAGEIMPORT_STRCAT(a,b) GRAPHICSIMAGEIMPORT_GLUE(a,b)
  565.     #define ADD_GRAPHICSIMAGEIMPORT_BASENAME(name) GRAPHICSIMAGEIMPORT_STRCAT(GRAPHICSIMAGEIMPORT_BASENAME(),name)
  566.  
  567.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(SetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean  enable);
  568.  
  569.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(GetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean * enable);
  570.  
  571. #endif    /* GRAPHICSIMAGEIMPORT_BASENAME */
  572.  
  573.  
  574. /* MixedMode ProcInfo constants for component calls */
  575. enum {
  576.     uppTextExportGetDisplayDataProcInfo = 0x000003F0,
  577.     uppTextExportGetTimeFractionProcInfo = 0x000003F0,
  578.     uppTextExportSetTimeFractionProcInfo = 0x000003F0,
  579.     uppTextExportGetSettingsProcInfo = 0x000003F0,
  580.     uppTextExportSetSettingsProcInfo = 0x000003F0,
  581.     uppMIDIImportGetSettingsProcInfo = 0x000003F0,
  582.     uppMIDIImportSetSettingsProcInfo = 0x000003F0,
  583.     uppMovieExportNewGetDataAndPropertiesProcsProcInfo = 0x03FFFFF0,
  584.     uppMovieExportDisposeGetDataAndPropertiesProcsProcInfo = 0x00003FF0,
  585.     uppGraphicsImageImportSetSequenceEnabledProcInfo = 0x000001F0,
  586.     uppGraphicsImageImportGetSequenceEnabledProcInfo = 0x000003F0
  587. };
  588.  
  589. /*
  590.     Example usage:
  591.  
  592.         #define PREVIEW_BASENAME()    Fred
  593.         #define PREVIEW_GLOBALS()    FredGlobalsHandle
  594.         #include <QuickTimeComponents.k.h>
  595.  
  596.     To specify that your component implementation does not use globals, do not #define PREVIEW_GLOBALS
  597. */
  598. #ifdef PREVIEW_BASENAME
  599.     #ifndef PREVIEW_GLOBALS
  600.         #define PREVIEW_GLOBALS() 
  601.         #define ADD_PREVIEW_COMMA 
  602.     #else
  603.         #define ADD_PREVIEW_COMMA ,
  604.     #endif
  605.     #define PREVIEW_GLUE(a,b) a##b
  606.     #define PREVIEW_STRCAT(a,b) PREVIEW_GLUE(a,b)
  607.     #define ADD_PREVIEW_BASENAME(name) PREVIEW_STRCAT(PREVIEW_BASENAME(),name)
  608.  
  609.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(ShowData) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType  dataType, Handle  data, const Rect * inHere);
  610.  
  611.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreview) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, Handle * previewResult, const FSSpec * sourceFile, ICMProgressProcRecordPtr  progress);
  612.  
  613.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreviewReference) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, short * resID, const FSSpec * sourceFile);
  614.  
  615.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(Event) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA EventRecord * e, Boolean * handledEvent);
  616.  
  617.  
  618.     /* MixedMode ProcInfo constants for component calls */
  619.     enum {
  620.         uppPreviewShowDataProcInfo = 0x00003FF0,
  621.         uppPreviewMakePreviewProcInfo = 0x0000FFF0,
  622.         uppPreviewMakePreviewReferenceProcInfo = 0x00003FF0,
  623.         uppPreviewEventProcInfo = 0x00000FF0
  624.     };
  625.  
  626. #endif    /* PREVIEW_BASENAME */
  627.  
  628. /*
  629.     Example usage:
  630.  
  631.         #define DATACODEC_BASENAME()    Fred
  632.         #define DATACODEC_GLOBALS()    FredGlobalsHandle
  633.         #include <QuickTimeComponents.k.h>
  634.  
  635.     To specify that your component implementation does not use globals, do not #define DATACODEC_GLOBALS
  636. */
  637. #ifdef DATACODEC_BASENAME
  638.     #ifndef DATACODEC_GLOBALS
  639.         #define DATACODEC_GLOBALS() 
  640.         #define ADD_DATACODEC_COMMA 
  641.     #else
  642.         #define ADD_DATACODEC_COMMA ,
  643.     #endif
  644.     #define DATACODEC_GLUE(a,b) a##b
  645.     #define DATACODEC_STRCAT(a,b) DATACODEC_GLUE(a,b)
  646.     #define ADD_DATACODEC_BASENAME(name) DATACODEC_STRCAT(DATACODEC_BASENAME(),name)
  647.  
  648.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Decompress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize);
  649.  
  650.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(GetCompressBufferSize) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA UInt32  srcSize, UInt32 * dstSize);
  651.  
  652.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Compress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize, UInt32 * actualDstSize, UInt32 * decompressSlop);
  653.  
  654.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(BeginInterruptSafe) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA unsigned long  maxSrcSize);
  655.  
  656.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(EndInterruptSafe) (DATACODEC_GLOBALS());
  657.  
  658.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(DecompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean * didFinish);
  659.  
  660.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(CompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean  tryToFinish, Boolean * didFinish);
  661.  
  662.  
  663.     /* MixedMode ProcInfo constants for component calls */
  664.     enum {
  665.         uppDataCodecDecompressProcInfo = 0x0000FFF0,
  666.         uppDataCodecGetCompressBufferSizeProcInfo = 0x00000FF0,
  667.         uppDataCodecCompressProcInfo = 0x000FFFF0,
  668.         uppDataCodecBeginInterruptSafeProcInfo = 0x000003F0,
  669.         uppDataCodecEndInterruptSafeProcInfo = 0x000000F0,
  670.         uppDataCodecDecompressPartialProcInfo = 0x003FFFF0,
  671.         uppDataCodecCompressPartialProcInfo = 0x00DFFFF0
  672.     };
  673.  
  674. #endif    /* DATACODEC_BASENAME */
  675.  
  676. /*
  677.     Example usage:
  678.  
  679.         #define DATAH_BASENAME()    Fred
  680.         #define DATAH_GLOBALS()    FredGlobalsHandle
  681.         #include <QuickTimeComponents.k.h>
  682.  
  683.     To specify that your component implementation does not use globals, do not #define DATAH_GLOBALS
  684. */
  685. #ifdef DATAH_BASENAME
  686.     #ifndef DATAH_GLOBALS
  687.         #define DATAH_GLOBALS() 
  688.         #define ADD_DATAH_COMMA 
  689.     #else
  690.         #define ADD_DATAH_COMMA ,
  691.     #endif
  692.     #define DATAH_GLUE(a,b) a##b
  693.     #define DATAH_STRCAT(a,b) DATAH_GLUE(a,b)
  694.     #define ADD_DATAH_BASENAME(name) DATAH_STRCAT(DATAH_BASENAME(),name)
  695.  
  696.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long  offset, long  size);
  697.  
  698.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PutData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long * offset, long  size);
  699.  
  700.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushData) (DATAH_GLOBALS());
  701.  
  702.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForWrite) (DATAH_GLOBALS());
  703.  
  704.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForWrite) (DATAH_GLOBALS());
  705.  
  706.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForRead) (DATAH_GLOBALS());
  707.  
  708.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForRead) (DATAH_GLOBALS());
  709.  
  710.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef);
  711.  
  712.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * dataRef);
  713.  
  714.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CompareDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, Boolean * equal);
  715.  
  716.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Task) (DATAH_GLOBALS());
  717.  
  718.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, long  FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
  719.  
  720.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FinishData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, Boolean  Cancel);
  721.  
  722.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushCache) (DATAH_GLOBALS());
  723.  
  724.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ResolveDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  theDataRef, Boolean * wasChanged, Boolean  userInterfaceAllowed);
  725.  
  726.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  727.  
  728.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CanUseDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, long * useFlags);
  729.  
  730.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetVolumeList) (DATAH_GLOBALS() ADD_DATAH_COMMA DataHVolumeList * volumeList);
  731.  
  732.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, long  offset, long  size, DataHCompletionUPP  completion, long  refCon);
  733.  
  734.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long  maxToAdd, unsigned long * spaceAdded);
  735.  
  736.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long  fileSize);
  737.  
  738.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long * freeSize);
  739.  
  740.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CreateFile) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  creator, Boolean  deleteExisting);
  741.  
  742.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetPreferredBlockSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * blockSize);
  743.  
  744.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDeviceIndex) (DATAH_GLOBALS() ADD_DATAH_COMMA long * deviceIndex);
  745.  
  746.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(IsStreamingDataHandler) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * yes);
  747.  
  748.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataInBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA long  startOffset, long * size);
  749.  
  750.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetScheduleAheadTime) (DATAH_GLOBALS() ADD_DATAH_COMMA long * millisecs);
  751.  
  752.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size  cacheSizeLimit);
  753.  
  754.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size * cacheSizeLimit);
  755.  
  756.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id);
  757.  
  758.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(AddMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short * id);
  759.  
  760.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(UpdateMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short  id);
  761.  
  762.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(DoesBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * buffersReads, Boolean * buffersWrites);
  763.  
  764.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileName) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  str);
  765.  
  766.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetAvailableFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  767.  
  768.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType * fileType);
  769.  
  770.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMIMEType) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  mimeType);
  771.  
  772.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle  dataRef);
  773.  
  774.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle * dataRef);
  775.  
  776.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  fileType);
  777.  
  778.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetTimeBase) (DATAH_GLOBALS() ADD_DATAH_COMMA TimeBase  tb);
  779.  
  780.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetInfoFlags) (DATAH_GLOBALS() ADD_DATAH_COMMA UInt32 * flags);
  781.  
  782.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData64) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, const wide * FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
  783.  
  784.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write64) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, const wide * offset, long  size, DataHCompletionUPP  completion, long  refCon);
  785.  
  786.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize64) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * fileSize);
  787.  
  788.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend64) (DATAH_GLOBALS() ADD_DATAH_COMMA const wide * maxToAdd, wide * spaceAdded);
  789.  
  790.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize64) (DATAH_GLOBALS() ADD_DATAH_COMMA const wide * fileSize);
  791.  
  792.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace64) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * freeSize);
  793.  
  794.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Append64) (DATAH_GLOBALS() ADD_DATAH_COMMA void * data, wide * fileOffset, unsigned long  size);
  795.  
  796.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ReadAsync) (DATAH_GLOBALS() ADD_DATAH_COMMA void * dataPtr, UInt32  dataSize, const wide * dataOffset, DataHCompletionUPP  completion, long  refCon);
  797.  
  798.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PollRead) (DATAH_GLOBALS() ADD_DATAH_COMMA void * dataPtr, UInt32 * dataSizeSoFar);
  799.  
  800.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataAvailability) (DATAH_GLOBALS() ADD_DATAH_COMMA long  offset, long  len, long * missing_offset, long * missing_len);
  801.  
  802.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSizeAsync) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * fileSize, DataHCompletionUPP  completionRtn, long  refCon);
  803.  
  804.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefAsType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  requestedType, Handle * dataRef);
  805.  
  806.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefExtension) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  extension, OSType  idType);
  807.  
  808.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefExtension) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * extension, OSType  idType);
  809.  
  810.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovieWithFlags) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id, short  flags);
  811.  
  812.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, unsigned long  minFileOffset, unsigned long  maxFileOffset, long  bytesPerSecond);
  813.  
  814.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints64) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, const wide * minFileOffset, const wide * maxFileOffset, long  bytesPerSecond);
  815.  
  816.  
  817.     /* MixedMode ProcInfo constants for component calls */
  818.     enum {
  819.         uppDataHGetDataProcInfo = 0x0000FFF0,
  820.         uppDataHPutDataProcInfo = 0x0000FFF0,
  821.         uppDataHFlushDataProcInfo = 0x000000F0,
  822.         uppDataHOpenForWriteProcInfo = 0x000000F0,
  823.         uppDataHCloseForWriteProcInfo = 0x000000F0,
  824.         uppDataHOpenForReadProcInfo = 0x000000F0,
  825.         uppDataHCloseForReadProcInfo = 0x000000F0,
  826.         uppDataHSetDataRefProcInfo = 0x000003F0,
  827.         uppDataHGetDataRefProcInfo = 0x000003F0,
  828.         uppDataHCompareDataRefProcInfo = 0x00000FF0,
  829.         uppDataHTaskProcInfo = 0x000000F0,
  830.         uppDataHScheduleDataProcInfo = 0x000FFFF0,
  831.         uppDataHFinishDataProcInfo = 0x000007F0,
  832.         uppDataHFlushCacheProcInfo = 0x000000F0,
  833.         uppDataHResolveDataRefProcInfo = 0x00001FF0,
  834.         uppDataHGetFileSizeProcInfo = 0x000003F0,
  835.         uppDataHCanUseDataRefProcInfo = 0x00000FF0,
  836.         uppDataHGetVolumeListProcInfo = 0x000003F0,
  837.         uppDataHWriteProcInfo = 0x0003FFF0,
  838.         uppDataHPreextendProcInfo = 0x00000FF0,
  839.         uppDataHSetFileSizeProcInfo = 0x000003F0,
  840.         uppDataHGetFreeSpaceProcInfo = 0x000003F0,
  841.         uppDataHCreateFileProcInfo = 0x000007F0,
  842.         uppDataHGetPreferredBlockSizeProcInfo = 0x000003F0,
  843.         uppDataHGetDeviceIndexProcInfo = 0x000003F0,
  844.         uppDataHIsStreamingDataHandlerProcInfo = 0x000003F0,
  845.         uppDataHGetDataInBufferProcInfo = 0x00000FF0,
  846.         uppDataHGetScheduleAheadTimeProcInfo = 0x000003F0,
  847.         uppDataHSetCacheSizeLimitProcInfo = 0x000003F0,
  848.         uppDataHGetCacheSizeLimitProcInfo = 0x000003F0,
  849.         uppDataHGetMovieProcInfo = 0x00000FF0,
  850.         uppDataHAddMovieProcInfo = 0x00000FF0,
  851.         uppDataHUpdateMovieProcInfo = 0x00000BF0,
  852.         uppDataHDoesBufferProcInfo = 0x00000FF0,
  853.         uppDataHGetFileNameProcInfo = 0x000003F0,
  854.         uppDataHGetAvailableFileSizeProcInfo = 0x000003F0,
  855.         uppDataHGetMacOSFileTypeProcInfo = 0x000003F0,
  856.         uppDataHGetMIMETypeProcInfo = 0x000003F0,
  857.         uppDataHSetDataRefWithAnchorProcInfo = 0x00003FF0,
  858.         uppDataHGetDataRefWithAnchorProcInfo = 0x00003FF0,
  859.         uppDataHSetMacOSFileTypeProcInfo = 0x000003F0,
  860.         uppDataHSetTimeBaseProcInfo = 0x000003F0,
  861.         uppDataHGetInfoFlagsProcInfo = 0x000003F0,
  862.         uppDataHScheduleData64ProcInfo = 0x000FFFF0,
  863.         uppDataHWrite64ProcInfo = 0x0003FFF0,
  864.         uppDataHGetFileSize64ProcInfo = 0x000003F0,
  865.         uppDataHPreextend64ProcInfo = 0x00000FF0,
  866.         uppDataHSetFileSize64ProcInfo = 0x000003F0,
  867.         uppDataHGetFreeSpace64ProcInfo = 0x000003F0,
  868.         uppDataHAppend64ProcInfo = 0x00003FF0,
  869.         uppDataHReadAsyncProcInfo = 0x0003FFF0,
  870.         uppDataHPollReadProcInfo = 0x00000FF0,
  871.         uppDataHGetDataAvailabilityProcInfo = 0x0000FFF0,
  872.         uppDataHGetFileSizeAsyncProcInfo = 0x00003FF0,
  873.         uppDataHGetDataRefAsTypeProcInfo = 0x00000FF0,
  874.         uppDataHSetDataRefExtensionProcInfo = 0x00000FF0,
  875.         uppDataHGetDataRefExtensionProcInfo = 0x00000FF0,
  876.         uppDataHGetMovieWithFlagsProcInfo = 0x00002FF0,
  877.         uppDataHPlaybackHintsProcInfo = 0x0000FFF0,
  878.         uppDataHPlaybackHints64ProcInfo = 0x0000FFF0
  879.     };
  880.  
  881. #endif    /* DATAH_BASENAME */
  882.  
  883. /*
  884.     Example usage:
  885.  
  886.         #define VD_BASENAME()    Fred
  887.         #define VD_GLOBALS()    FredGlobalsHandle
  888.         #include <QuickTimeComponents.k.h>
  889.  
  890.     To specify that your component implementation does not use globals, do not #define VD_GLOBALS
  891. */
  892. #ifdef VD_BASENAME
  893.     #ifndef VD_GLOBALS
  894.         #define VD_GLOBALS() 
  895.         #define ADD_VD_COMMA 
  896.     #else
  897.         #define ADD_VD_COMMA ,
  898.     #endif
  899.     #define VD_GLUE(a,b) a##b
  900.     #define VD_STRCAT(a,b) VD_GLUE(a,b)
  901.     #define ADD_VD_BASENAME(name) VD_STRCAT(VD_BASENAME(),name)
  902.  
  903.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * maxSrcRect);
  904.  
  905.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetActiveSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * activeSrcRect);
  906.  
  907.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  908.  
  909.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  910.  
  911.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVBlankRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * vBlankRect);
  912.  
  913.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskPixMap) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  maskPixMap);
  914.  
  915.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * dest, Rect * destRect, MatrixRecord * m, RgnHandle * mask);
  916.  
  917.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseThisCLUT) (VD_GLOBALS() ADD_VD_COMMA CTabHandle  colorTableHandle);
  918.  
  919.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed  channel1, Fixed  channel2, Fixed  channel3);
  920.  
  921.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed * channel1, Fixed * channel2, Fixed * channel3);
  922.  
  923.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  924.  
  925.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  926.  
  927.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  928.  
  929.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  930.  
  931.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  932.  
  933.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  934.  
  935.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  936.  
  937.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  938.  
  939.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  940.  
  941.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  942.  
  943.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrame) (VD_GLOBALS());
  944.  
  945.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxAuxBuffer) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * pm, Rect * r);
  946.  
  947.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerInfo) (VD_GLOBALS() ADD_VD_COMMA DigitizerInfo * info);
  948.  
  949.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCurrentFlags) (VD_GLOBALS() ADD_VD_COMMA long * inputCurrentFlag, long * outputCurrentFlag);
  950.  
  951.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  952.  
  953.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  954.  
  955.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(AddKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  956.  
  957.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNextKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  958.  
  959.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  960.  
  961.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  962.  
  963.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerUserInterrupt) (VD_GLOBALS() ADD_VD_COMMA long  flags, VdigIntUPP  userInterruptProc, long  refcon);
  964.  
  965.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short  colorSpaceMode);
  966.  
  967.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short * colorSpaceMode);
  968.  
  969.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipState) (VD_GLOBALS() ADD_VD_COMMA short  clipEnable);
  970.  
  971.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetClipState) (VD_GLOBALS() ADD_VD_COMMA short * clipEnable);
  972.  
  973.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  974.  
  975.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ClearClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  976.  
  977.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCLUTInUse) (VD_GLOBALS() ADD_VD_COMMA CTabHandle * colorTableHandle);
  978.  
  979.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short  pllType);
  980.  
  981.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short * pllType);
  982.  
  983.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskandValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short  blendLevel, long * mask, long * value);
  984.  
  985.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetMasterBlendLevel) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blendLevel);
  986.  
  987.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  dest, RectPtr  destRect, MatrixRecordPtr  m, RgnHandle  mask);
  988.  
  989.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruOnOff) (VD_GLOBALS() ADD_VD_COMMA short  state);
  990.  
  991.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short  fieldFlag);
  992.  
  993.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short * fieldFlag);
  994.  
  995.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightDestination) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect, PixMap ** dest, RectPtr  destRect, MatrixRecordPtr  m);
  996.  
  997.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  998.  
  999.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  1000.  
  1001.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr  inputGammaPtr);
  1002.  
  1003.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr * inputGammaPtr);
  1004.  
  1005.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  1006.  
  1007.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  1008.  
  1009.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  1010.  
  1011.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  1012.  
  1013.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVideoDefaults) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel, unsigned short * whiteLevel, unsigned short * brightness, unsigned short * hue, unsigned short * saturation, unsigned short * contrast, unsigned short * sharpness);
  1014.  
  1015.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNumberOfInputs) (VD_GLOBALS() ADD_VD_COMMA short * inputs);
  1016.  
  1017.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputFormat) (VD_GLOBALS() ADD_VD_COMMA short  input, short * format);
  1018.  
  1019.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInput) (VD_GLOBALS() ADD_VD_COMMA short  input);
  1020.  
  1021.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInput) (VD_GLOBALS() ADD_VD_COMMA short * input);
  1022.  
  1023.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputStandard) (VD_GLOBALS() ADD_VD_COMMA short  inputStandard);
  1024.  
  1025.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetupBuffers) (VD_GLOBALS() ADD_VD_COMMA VdigBufferRecListHandle  bufferList);
  1026.  
  1027.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrameAsync) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  1028.  
  1029.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(Done) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  1030.  
  1031.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompression) (VD_GLOBALS() ADD_VD_COMMA OSType  compressType, short  depth, Rect * bounds, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  1032.  
  1033.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressOneFrameAsync) (VD_GLOBALS());
  1034.  
  1035.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressDone) (VD_GLOBALS() ADD_VD_COMMA Boolean * done, Ptr * theData, long * dataSize, UInt8 * similarity, TimeRecord * t);
  1036.  
  1037.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseCompressBuffer) (VD_GLOBALS() ADD_VD_COMMA Ptr  bufferAddr);
  1038.  
  1039.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetImageDescription) (VD_GLOBALS() ADD_VD_COMMA ImageDescriptionHandle  desc);
  1040.  
  1041.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ResetCompressSequence) (VD_GLOBALS());
  1042.  
  1043.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompressionOnOff) (VD_GLOBALS() ADD_VD_COMMA Boolean  state);
  1044.  
  1045.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTypes) (VD_GLOBALS() ADD_VD_COMMA VDCompressionListHandle  h);
  1046.  
  1047.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetTimeBase) (VD_GLOBALS() ADD_VD_COMMA TimeBase  t);
  1048.  
  1049.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFrameRate) (VD_GLOBALS() ADD_VD_COMMA Fixed  framesPerSecond);
  1050.  
  1051.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDataRate) (VD_GLOBALS() ADD_VD_COMMA long * milliSecPerFrame, Fixed * framesPerSecond, long * bytesPerSecond);
  1052.  
  1053.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputDriver) (VD_GLOBALS() ADD_VD_COMMA Str255  soundDriverName);
  1054.  
  1055.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDMADepths) (VD_GLOBALS() ADD_VD_COMMA long * depthArray, long * preferredDepth);
  1056.  
  1057.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredTimeScale) (VD_GLOBALS() ADD_VD_COMMA TimeScale * preferred);
  1058.  
  1059.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseAsyncBuffers) (VD_GLOBALS());
  1060.  
  1061.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDataRate) (VD_GLOBALS() ADD_VD_COMMA long  bytesPerSecond);
  1062.  
  1063.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetTimeCode) (VD_GLOBALS() ADD_VD_COMMA TimeRecord * atTime, void * timeCodeFormat, void * timeCodeTime);
  1064.  
  1065.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseSafeBuffers) (VD_GLOBALS() ADD_VD_COMMA Boolean  useSafeBuffers);
  1066.  
  1067.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputSource) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, long * soundInput);
  1068.  
  1069.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTime) (VD_GLOBALS() ADD_VD_COMMA OSType  compressionType, short  depth, Rect * srcRect, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * compressTime);
  1070.  
  1071.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredPacketSize) (VD_GLOBALS() ADD_VD_COMMA long  preferredPacketSizeInBytes);
  1072.  
  1073.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long  width, long  height);
  1074.  
  1075.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long * width, long * height);
  1076.  
  1077.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputName) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, Str255  name);
  1078.  
  1079.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDestinationPort) (VD_GLOBALS() ADD_VD_COMMA CGrafPtr  destPort);
  1080.  
  1081.  
  1082.     /* MixedMode ProcInfo constants for component calls */
  1083.     enum {
  1084.         uppVDGetMaxSrcRectProcInfo = 0x00000EF0,
  1085.         uppVDGetActiveSrcRectProcInfo = 0x00000EF0,
  1086.         uppVDSetDigitizerRectProcInfo = 0x000003F0,
  1087.         uppVDGetDigitizerRectProcInfo = 0x000003F0,
  1088.         uppVDGetVBlankRectProcInfo = 0x00000EF0,
  1089.         uppVDGetMaskPixMapProcInfo = 0x000003F0,
  1090.         uppVDGetPlayThruDestinationProcInfo = 0x0000FFF0,
  1091.         uppVDUseThisCLUTProcInfo = 0x000003F0,
  1092.         uppVDSetInputGammaValueProcInfo = 0x00003FF0,
  1093.         uppVDGetInputGammaValueProcInfo = 0x00003FF0,
  1094.         uppVDSetBrightnessProcInfo = 0x000003F0,
  1095.         uppVDGetBrightnessProcInfo = 0x000003F0,
  1096.         uppVDSetContrastProcInfo = 0x000003F0,
  1097.         uppVDSetHueProcInfo = 0x000003F0,
  1098.         uppVDSetSharpnessProcInfo = 0x000003F0,
  1099.         uppVDSetSaturationProcInfo = 0x000003F0,
  1100.         uppVDGetContrastProcInfo = 0x000003F0,
  1101.         uppVDGetHueProcInfo = 0x000003F0,
  1102.         uppVDGetSharpnessProcInfo = 0x000003F0,
  1103.         uppVDGetSaturationProcInfo = 0x000003F0,
  1104.         uppVDGrabOneFrameProcInfo = 0x000000F0,
  1105.         uppVDGetMaxAuxBufferProcInfo = 0x00000FF0,
  1106.         uppVDGetDigitizerInfoProcInfo = 0x000003F0,
  1107.         uppVDGetCurrentFlagsProcInfo = 0x00000FF0,
  1108.         uppVDSetKeyColorProcInfo = 0x000003F0,
  1109.         uppVDGetKeyColorProcInfo = 0x000003F0,
  1110.         uppVDAddKeyColorProcInfo = 0x000003F0,
  1111.         uppVDGetNextKeyColorProcInfo = 0x000003F0,
  1112.         uppVDSetKeyColorRangeProcInfo = 0x00000FF0,
  1113.         uppVDGetKeyColorRangeProcInfo = 0x00000FF0,
  1114.         uppVDSetDigitizerUserInterruptProcInfo = 0x00003FF0,
  1115.         uppVDSetInputColorSpaceModeProcInfo = 0x000002F0,
  1116.         uppVDGetInputColorSpaceModeProcInfo = 0x000003F0,
  1117.         uppVDSetClipStateProcInfo = 0x000002F0,
  1118.         uppVDGetClipStateProcInfo = 0x000003F0,
  1119.         uppVDSetClipRgnProcInfo = 0x000003F0,
  1120.         uppVDClearClipRgnProcInfo = 0x000003F0,
  1121.         uppVDGetCLUTInUseProcInfo = 0x000003F0,
  1122.         uppVDSetPLLFilterTypeProcInfo = 0x000002F0,
  1123.         uppVDGetPLLFilterTypeProcInfo = 0x000003F0,
  1124.         uppVDGetMaskandValueProcInfo = 0x00003EF0,
  1125.         uppVDSetMasterBlendLevelProcInfo = 0x000003F0,
  1126.         uppVDSetPlayThruDestinationProcInfo = 0x0000FFF0,
  1127.         uppVDSetPlayThruOnOffProcInfo = 0x000002F0,
  1128.         uppVDSetFieldPreferenceProcInfo = 0x000002F0,
  1129.         uppVDGetFieldPreferenceProcInfo = 0x000003F0,
  1130.         uppVDPreflightDestinationProcInfo = 0x0000FFF0,
  1131.         uppVDPreflightGlobalRectProcInfo = 0x00000FF0,
  1132.         uppVDSetPlayThruGlobalRectProcInfo = 0x00000FF0,
  1133.         uppVDSetInputGammaRecordProcInfo = 0x000003F0,
  1134.         uppVDGetInputGammaRecordProcInfo = 0x000003F0,
  1135.         uppVDSetBlackLevelValueProcInfo = 0x000003F0,
  1136.         uppVDGetBlackLevelValueProcInfo = 0x000003F0,
  1137.         uppVDSetWhiteLevelValueProcInfo = 0x000003F0,
  1138.         uppVDGetWhiteLevelValueProcInfo = 0x000003F0,
  1139.         uppVDGetVideoDefaultsProcInfo = 0x003FFFF0,
  1140.         uppVDGetNumberOfInputsProcInfo = 0x000003F0,
  1141.         uppVDGetInputFormatProcInfo = 0x00000EF0,
  1142.         uppVDSetInputProcInfo = 0x000002F0,
  1143.         uppVDGetInputProcInfo = 0x000003F0,
  1144.         uppVDSetInputStandardProcInfo = 0x000002F0,
  1145.         uppVDSetupBuffersProcInfo = 0x000003F0,
  1146.         uppVDGrabOneFrameAsyncProcInfo = 0x000002F0,
  1147.         uppVDDoneProcInfo = 0x000002F0,
  1148.         uppVDSetCompressionProcInfo = 0x000FFBF0,
  1149.         uppVDCompressOneFrameAsyncProcInfo = 0x000000F0,
  1150.         uppVDCompressDoneProcInfo = 0x0003FFF0,
  1151.         uppVDReleaseCompressBufferProcInfo = 0x000003F0,
  1152.         uppVDGetImageDescriptionProcInfo = 0x000003F0,
  1153.         uppVDResetCompressSequenceProcInfo = 0x000000F0,
  1154.         uppVDSetCompressionOnOffProcInfo = 0x000001F0,
  1155.         uppVDGetCompressionTypesProcInfo = 0x000003F0,
  1156.         uppVDSetTimeBaseProcInfo = 0x000003F0,
  1157.         uppVDSetFrameRateProcInfo = 0x000003F0,
  1158.         uppVDGetDataRateProcInfo = 0x00003FF0,
  1159.         uppVDGetSoundInputDriverProcInfo = 0x000003F0,
  1160.         uppVDGetDMADepthsProcInfo = 0x00000FF0,
  1161.         uppVDGetPreferredTimeScaleProcInfo = 0x000003F0,
  1162.         uppVDReleaseAsyncBuffersProcInfo = 0x000000F0,
  1163.         uppVDSetDataRateProcInfo = 0x000003F0,
  1164.         uppVDGetTimeCodeProcInfo = 0x00003FF0,
  1165.         uppVDUseSafeBuffersProcInfo = 0x000001F0,
  1166.         uppVDGetSoundInputSourceProcInfo = 0x00000FF0,
  1167.         uppVDGetCompressionTimeProcInfo = 0x000FFBF0,
  1168.         uppVDSetPreferredPacketSizeProcInfo = 0x000003F0,
  1169.         uppVDSetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1170.         uppVDGetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1171.         uppVDGetInputNameProcInfo = 0x00000FF0,
  1172.         uppVDSetDestinationPortProcInfo = 0x000003F0
  1173.     };
  1174.  
  1175. #endif    /* VD_BASENAME */
  1176.  
  1177. /*
  1178.     Example usage:
  1179.  
  1180.         #define SG_BASENAME()    Fred
  1181.         #define SG_GLOBALS()    FredGlobalsHandle
  1182.         #include <QuickTimeComponents.k.h>
  1183.  
  1184.     To specify that your component implementation does not use globals, do not #define SG_GLOBALS
  1185. */
  1186. #ifdef SG_BASENAME
  1187.     #ifndef SG_GLOBALS
  1188.         #define SG_GLOBALS() 
  1189.         #define ADD_SG_COMMA 
  1190.     #else
  1191.         #define ADD_SG_COMMA ,
  1192.     #endif
  1193.     #define SG_GLUE(a,b) a##b
  1194.     #define SG_STRCAT(a,b) SG_GLUE(a,b)
  1195.     #define ADD_SG_BASENAME(name) SG_STRCAT(SG_BASENAME(),name)
  1196.  
  1197.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Initialize) (SG_GLOBALS());
  1198.  
  1199.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataOutput) (SG_GLOBALS() ADD_SG_COMMA const FSSpec * movieFile, long  whereFlags);
  1200.  
  1201.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutput) (SG_GLOBALS() ADD_SG_COMMA FSSpec * movieFile, long * whereFlags);
  1202.  
  1203.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr  gp, GDHandle  gd);
  1204.  
  1205.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr * gp, GDHandle * gd);
  1206.  
  1207.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannel) (SG_GLOBALS() ADD_SG_COMMA OSType  channelType, SGChannel * ref);
  1208.  
  1209.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeChannel) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1210.  
  1211.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartPreview) (SG_GLOBALS());
  1212.  
  1213.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartRecord) (SG_GLOBALS());
  1214.  
  1215.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Idle) (SG_GLOBALS());
  1216.  
  1217.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Stop) (SG_GLOBALS());
  1218.  
  1219.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Pause) (SG_GLOBALS() ADD_SG_COMMA Byte  pause);
  1220.  
  1221.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Prepare) (SG_GLOBALS() ADD_SG_COMMA Boolean  prepareForPreview, Boolean  prepareForRecord);
  1222.  
  1223.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Release) (SG_GLOBALS());
  1224.  
  1225.     EXTERN_API( Movie  ) ADD_SG_BASENAME(GetMovie) (SG_GLOBALS());
  1226.  
  1227.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long  ticks);
  1228.  
  1229.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long * ticks);
  1230.  
  1231.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA unsigned long * bytes);
  1232.  
  1233.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeRemaining) (SG_GLOBALS() ADD_SG_COMMA long * ticksLeft);
  1234.  
  1235.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabPict) (SG_GLOBALS() ADD_SG_COMMA PicHandle * p, const Rect * bounds, short  offscreenDepth, long  grabPictFlags);
  1236.  
  1237.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetLastMovieResID) (SG_GLOBALS() ADD_SG_COMMA short * resID);
  1238.  
  1239.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFlags) (SG_GLOBALS() ADD_SG_COMMA long  sgFlags);
  1240.  
  1241.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFlags) (SG_GLOBALS() ADD_SG_COMMA long * sgFlags);
  1242.  
  1243.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataProc) (SG_GLOBALS() ADD_SG_COMMA SGDataUPP  proc, long  refCon);
  1244.  
  1245.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannelFromComponent) (SG_GLOBALS() ADD_SG_COMMA SGChannel * newChannel, Component  sgChannelComponent);
  1246.  
  1247.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1248.  
  1249.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AppendDeviceListToMenu) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list, MenuHandle  mh);
  1250.  
  1251.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData  ud, long  flags);
  1252.  
  1253.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData * ud, long  flags);
  1254.  
  1255.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetIndChannel) (SG_GLOBALS() ADD_SG_COMMA short  index, SGChannel * ref, OSType * chanType);
  1256.  
  1257.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Update) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  updateRgn);
  1258.  
  1259.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPause) (SG_GLOBALS() ADD_SG_COMMA Byte * paused);
  1260.  
  1261.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SettingsDialog) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, short  numPanels, ConstComponentListPtr  panelList, long  flags, SGModalFilterUPP  proc, long  procRefNum);
  1262.  
  1263.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAlignmentProc) (SG_GLOBALS() ADD_SG_COMMA ICMAlignmentProcRecordPtr  alignmentProc);
  1264.  
  1265.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1266.  
  1267.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1268.  
  1269.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMode) (SG_GLOBALS() ADD_SG_COMMA Boolean * previewMode, Boolean * recordMode);
  1270.  
  1271.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags);
  1272.  
  1273.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle * dataRef, OSType * dataRefType, long * whereFlags);
  1274.  
  1275.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewOutput) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags, SGOutput * sgOut);
  1276.  
  1277.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut);
  1278.  
  1279.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputFlags) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, long  whereFlags);
  1280.  
  1281.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelOutput) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, SGOutput  sgOut);
  1282.  
  1283.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, unsigned long * space);
  1284.  
  1285.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(HandleUpdateEvent) (SG_GLOBALS() ADD_SG_COMMA const EventRecord * event, Boolean * handled);
  1286.  
  1287.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput  nextOut);
  1288.  
  1289.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput * nextOut);
  1290.  
  1291.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, const wide * maxOffset);
  1292.  
  1293.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * maxOffset);
  1294.  
  1295.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputDataReference) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Handle * dataRef, OSType * dataRefType);
  1296.  
  1297.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, SGOutput * sgOut);
  1298.  
  1299.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining64) (SG_GLOBALS() ADD_SG_COMMA wide * bytes);
  1300.  
  1301.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining64) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * space);
  1302.  
  1303.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset);
  1304.  
  1305.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo);
  1306.  
  1307.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1308.  
  1309.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
  1310.  
  1311.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SortDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1312.  
  1313.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset, long  chRefCon, TimeValue  time, short  writeType);
  1314.  
  1315.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChangedSource) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1316.  
  1317.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo);
  1318.  
  1319.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1320.  
  1321.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, long  chRefCon, TimeValue  time, short  writeType, SGOutput * whichOutput);
  1322.  
  1323.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddOutputDataRefToMedia) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Media  theMedia, SampleDescriptionHandle  desc);
  1324.  
  1325.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long  usage);
  1326.  
  1327.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long * usage);
  1328.  
  1329.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA const Rect * bounds);
  1330.  
  1331.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * bounds);
  1332.  
  1333.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short  volume);
  1334.  
  1335.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short * volume);
  1336.  
  1337.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelInfo) (SG_GLOBALS() ADD_SG_COMMA long * channelInfo);
  1338.  
  1339.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long  playFlags);
  1340.  
  1341.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long * playFlags);
  1342.  
  1343.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long  frameCount);
  1344.  
  1345.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long * frameCount);
  1346.  
  1347.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelRefCon) (SG_GLOBALS() ADD_SG_COMMA long  refCon);
  1348.  
  1349.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  theClip);
  1350.  
  1351.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle * theClip);
  1352.  
  1353.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSampleDescription) (SG_GLOBALS() ADD_SG_COMMA Handle  sampleDesc);
  1354.  
  1355.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelDeviceList) (SG_GLOBALS() ADD_SG_COMMA long  selectionFlags, SGDeviceList * list);
  1356.  
  1357.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelDevice) (SG_GLOBALS() ADD_SG_COMMA StringPtr  name);
  1358.  
  1359.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA const MatrixRecord * m);
  1360.  
  1361.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA MatrixRecord * m);
  1362.  
  1363.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeScale) (SG_GLOBALS() ADD_SG_COMMA TimeScale * scale);
  1364.  
  1365.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelPutPicture) (SG_GLOBALS());
  1366.  
  1367.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long  bytesPerSecond);
  1368.  
  1369.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1370.  
  1371.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  name, ScriptCode  scriptTag);
  1372.  
  1373.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA Str255  name, ScriptCode * scriptTag);
  1374.  
  1375.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetCodecSettings) (SG_GLOBALS() ADD_SG_COMMA Handle  settings);
  1376.  
  1377.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetCodecSettings) (SG_GLOBALS() ADD_SG_COMMA Handle * settings);
  1378.  
  1379.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
  1380.  
  1381.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(InitChannel) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  owner);
  1382.  
  1383.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteSamples) (SG_GLOBALS() ADD_SG_COMMA Movie  m, AliasHandle  theFile);
  1384.  
  1385.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1386.  
  1387.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AlignChannelRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1388.  
  1389.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetDitl) (SG_GLOBALS() ADD_SG_COMMA Handle * ditl);
  1390.  
  1391.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetTitle) (SG_GLOBALS() ADD_SG_COMMA Str255  title);
  1392.  
  1393.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelCanRun) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1394.  
  1395.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelInstall) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1396.  
  1397.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelEvent) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, const EventRecord * theEvent, short * itemHit, Boolean * handled);
  1398.  
  1399.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelItem) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, short  itemNum);
  1400.  
  1401.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelRemove) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1402.  
  1403.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetGrabber) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  sg);
  1404.  
  1405.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetResFile) (SG_GLOBALS() ADD_SG_COMMA short  resRef);
  1406.  
  1407.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1408.  
  1409.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1410.  
  1411.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelValidateInput) (SG_GLOBALS() ADD_SG_COMMA Boolean * ok);
  1412.  
  1413.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetEventFilter) (SG_GLOBALS() ADD_SG_COMMA SGModalFilterUPP  proc, long  refCon);
  1414.  
  1415.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSrcVideoBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1416.  
  1417.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoRect) (SG_GLOBALS() ADD_SG_COMMA const Rect * r);
  1418.  
  1419.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1420.  
  1421.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType * compressorType);
  1422.  
  1423.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType  compressorType);
  1424.  
  1425.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short  depth, CompressorComponent  compressor, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  1426.  
  1427.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short * depth, CompressorComponent * compressor, CodecQ * spatialQuality, CodecQ * temporalQuality, long * keyFrameRate);
  1428.  
  1429.     EXTERN_API( ComponentInstance  ) ADD_SG_BASENAME(GetVideoDigitizerComponent) (SG_GLOBALS());
  1430.  
  1431.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoDigitizerComponent) (SG_GLOBALS() ADD_SG_COMMA ComponentInstance  vdig);
  1432.  
  1433.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(VideoDigitizerChanged) (SG_GLOBALS());
  1434.  
  1435.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1436.  
  1437.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1438.  
  1439.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1440.  
  1441.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done);
  1442.  
  1443.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1444.  
  1445.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1446.  
  1447.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done, SGCompressInfo * ci);
  1448.  
  1449.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, TimeValue  atTime, TimeScale  scale, const SGCompressInfo * ci);
  1450.  
  1451.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(TransferFrameForCompress) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1452.  
  1453.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short  depth, const Rect * compressSize);
  1454.  
  1455.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short * depth, Rect * compressSize);
  1456.  
  1457.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetBufferInfo) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, PixMapHandle * bufferPM, Rect * bufferRect, GWorldPtr * compressBuffer, Rect * compressBufferRect);
  1458.  
  1459.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean  useScreenBuffer);
  1460.  
  1461.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean * useScreenBuffer);
  1462.  
  1463.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabCompressComplete) (SG_GLOBALS() ADD_SG_COMMA Boolean * done, SGCompressInfo * ci, TimeRecord * tr);
  1464.  
  1465.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayCompress) (SG_GLOBALS() ADD_SG_COMMA Ptr  dataPtr, ImageDescriptionHandle  desc, MatrixRecord * mp, RgnHandle  clipRgn);
  1466.  
  1467.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  frameRate);
  1468.  
  1469.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed * frameRate);
  1470.  
  1471.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long  preferredPacketSizeInBytes);
  1472.  
  1473.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long * preferredPacketSizeInBytes);
  1474.  
  1475.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle  compressorTypes);
  1476.  
  1477.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle * compressorTypes);
  1478.  
  1479.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputDriver) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  driverName);
  1480.  
  1481.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundInputDriver) (SG_GLOBALS());
  1482.  
  1483.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SoundInputDriverChanged) (SG_GLOBALS());
  1484.  
  1485.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundRecordChunkSize) (SG_GLOBALS() ADD_SG_COMMA long  seconds);
  1486.  
  1487.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundRecordChunkSize) (SG_GLOBALS());
  1488.  
  1489.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  rate);
  1490.  
  1491.     EXTERN_API( Fixed  ) ADD_SG_BASENAME(GetSoundInputRate) (SG_GLOBALS());
  1492.  
  1493.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short  sampleSize, short  numChannels, OSType  compressionType);
  1494.  
  1495.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short * sampleSize, short * numChannels, OSType * compressionType);
  1496.  
  1497.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle  rates);
  1498.  
  1499.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle * rates);
  1500.  
  1501.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontName) (SG_GLOBALS() ADD_SG_COMMA StringPtr  pstr);
  1502.  
  1503.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontSize) (SG_GLOBALS() ADD_SG_COMMA short  fontSize);
  1504.  
  1505.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextForeColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1506.  
  1507.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextBackColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1508.  
  1509.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetJustification) (SG_GLOBALS() ADD_SG_COMMA short  just);
  1510.  
  1511.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short * rettospace);
  1512.  
  1513.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short  rettospace);
  1514.  
  1515.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1516.  
  1517.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1518.  
  1519.  
  1520.     /* MixedMode ProcInfo constants for component calls */
  1521.     enum {
  1522.         uppSGInitializeProcInfo = 0x000000F0,
  1523.         uppSGSetDataOutputProcInfo = 0x00000FF0,
  1524.         uppSGGetDataOutputProcInfo = 0x00000FF0,
  1525.         uppSGSetGWorldProcInfo = 0x00000FF0,
  1526.         uppSGGetGWorldProcInfo = 0x00000FF0,
  1527.         uppSGNewChannelProcInfo = 0x00000FF0,
  1528.         uppSGDisposeChannelProcInfo = 0x000003F0,
  1529.         uppSGStartPreviewProcInfo = 0x000000F0,
  1530.         uppSGStartRecordProcInfo = 0x000000F0,
  1531.         uppSGIdleProcInfo = 0x000000F0,
  1532.         uppSGStopProcInfo = 0x000000F0,
  1533.         uppSGPauseProcInfo = 0x000001F0,
  1534.         uppSGPrepareProcInfo = 0x000005F0,
  1535.         uppSGReleaseProcInfo = 0x000000F0,
  1536.         uppSGGetMovieProcInfo = 0x000000F0,
  1537.         uppSGSetMaximumRecordTimeProcInfo = 0x000003F0,
  1538.         uppSGGetMaximumRecordTimeProcInfo = 0x000003F0,
  1539.         uppSGGetStorageSpaceRemainingProcInfo = 0x000003F0,
  1540.         uppSGGetTimeRemainingProcInfo = 0x000003F0,
  1541.         uppSGGrabPictProcInfo = 0x0000EFF0,
  1542.         uppSGGetLastMovieResIDProcInfo = 0x000003F0,
  1543.         uppSGSetFlagsProcInfo = 0x000003F0,
  1544.         uppSGGetFlagsProcInfo = 0x000003F0,
  1545.         uppSGSetDataProcProcInfo = 0x00000FF0,
  1546.         uppSGNewChannelFromComponentProcInfo = 0x00000FF0,
  1547.         uppSGDisposeDeviceListProcInfo = 0x000003F0,
  1548.         uppSGAppendDeviceListToMenuProcInfo = 0x00000FF0,
  1549.         uppSGSetSettingsProcInfo = 0x00000FF0,
  1550.         uppSGGetSettingsProcInfo = 0x00000FF0,
  1551.         uppSGGetIndChannelProcInfo = 0x00003EF0,
  1552.         uppSGUpdateProcInfo = 0x000003F0,
  1553.         uppSGGetPauseProcInfo = 0x000003F0,
  1554.         uppSGSettingsDialogProcInfo = 0x000FFBF0,
  1555.         uppSGGetAlignmentProcProcInfo = 0x000003F0,
  1556.         uppSGSetChannelSettingsProcInfo = 0x00003FF0,
  1557.         uppSGGetChannelSettingsProcInfo = 0x00003FF0,
  1558.         uppSGGetModeProcInfo = 0x00000FF0,
  1559.         uppSGSetDataRefProcInfo = 0x00003FF0,
  1560.         uppSGGetDataRefProcInfo = 0x00003FF0,
  1561.         uppSGNewOutputProcInfo = 0x0000FFF0,
  1562.         uppSGDisposeOutputProcInfo = 0x000003F0,
  1563.         uppSGSetOutputFlagsProcInfo = 0x00000FF0,
  1564.         uppSGSetChannelOutputProcInfo = 0x00000FF0,
  1565.         uppSGGetDataOutputStorageSpaceRemainingProcInfo = 0x00000FF0,
  1566.         uppSGHandleUpdateEventProcInfo = 0x00000FF0,
  1567.         uppSGSetOutputNextOutputProcInfo = 0x00000FF0,
  1568.         uppSGGetOutputNextOutputProcInfo = 0x00000FF0,
  1569.         uppSGSetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1570.         uppSGGetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1571.         uppSGGetOutputDataReferenceProcInfo = 0x00003FF0,
  1572.         uppSGWriteExtendedMovieDataProcInfo = 0x0003FFF0,
  1573.         uppSGGetStorageSpaceRemaining64ProcInfo = 0x000003F0,
  1574.         uppSGGetDataOutputStorageSpaceRemaining64ProcInfo = 0x00000FF0,
  1575.         uppSGWriteMovieDataProcInfo = 0x0000FFF0,
  1576.         uppSGAddFrameReferenceProcInfo = 0x000003F0,
  1577.         uppSGGetNextFrameReferenceProcInfo = 0x00003FF0,
  1578.         uppSGGetTimeBaseProcInfo = 0x000003F0,
  1579.         uppSGSortDeviceListProcInfo = 0x000003F0,
  1580.         uppSGAddMovieDataProcInfo = 0x002FFFF0,
  1581.         uppSGChangedSourceProcInfo = 0x000003F0,
  1582.         uppSGAddExtendedFrameReferenceProcInfo = 0x000003F0,
  1583.         uppSGGetNextExtendedFrameReferenceProcInfo = 0x00003FF0,
  1584.         uppSGAddExtendedMovieDataProcInfo = 0x00EFFFF0,
  1585.         uppSGAddOutputDataRefToMediaProcInfo = 0x00003FF0,
  1586.         uppSGSetChannelUsageProcInfo = 0x000003F0,
  1587.         uppSGGetChannelUsageProcInfo = 0x000003F0,
  1588.         uppSGSetChannelBoundsProcInfo = 0x000003F0,
  1589.         uppSGGetChannelBoundsProcInfo = 0x000003F0,
  1590.         uppSGSetChannelVolumeProcInfo = 0x000002F0,
  1591.         uppSGGetChannelVolumeProcInfo = 0x000003F0,
  1592.         uppSGGetChannelInfoProcInfo = 0x000003F0,
  1593.         uppSGSetChannelPlayFlagsProcInfo = 0x000003F0,
  1594.         uppSGGetChannelPlayFlagsProcInfo = 0x000003F0,
  1595.         uppSGSetChannelMaxFramesProcInfo = 0x000003F0,
  1596.         uppSGGetChannelMaxFramesProcInfo = 0x000003F0,
  1597.         uppSGSetChannelRefConProcInfo = 0x000003F0,
  1598.         uppSGSetChannelClipProcInfo = 0x000003F0,
  1599.         uppSGGetChannelClipProcInfo = 0x000003F0,
  1600.         uppSGGetChannelSampleDescriptionProcInfo = 0x000003F0,
  1601.         uppSGGetChannelDeviceListProcInfo = 0x00000FF0,
  1602.         uppSGSetChannelDeviceProcInfo = 0x000003F0,
  1603.         uppSGSetChannelMatrixProcInfo = 0x000003F0,
  1604.         uppSGGetChannelMatrixProcInfo = 0x000003F0,
  1605.         uppSGGetChannelTimeScaleProcInfo = 0x000003F0,
  1606.         uppSGChannelPutPictureProcInfo = 0x000000F0,
  1607.         uppSGChannelSetRequestedDataRateProcInfo = 0x000003F0,
  1608.         uppSGChannelGetRequestedDataRateProcInfo = 0x000003F0,
  1609.         uppSGChannelSetDataSourceNameProcInfo = 0x00000BF0,
  1610.         uppSGChannelGetDataSourceNameProcInfo = 0x00000FF0,
  1611.         uppSGChannelSetCodecSettingsProcInfo = 0x000003F0,
  1612.         uppSGChannelGetCodecSettingsProcInfo = 0x000003F0,
  1613.         uppSGGetChannelTimeBaseProcInfo = 0x000003F0,
  1614.         uppSGInitChannelProcInfo = 0x000003F0,
  1615.         uppSGWriteSamplesProcInfo = 0x00000FF0,
  1616.         uppSGGetDataRateProcInfo = 0x000003F0,
  1617.         uppSGAlignChannelRectProcInfo = 0x000003F0,
  1618.         uppSGPanelGetDitlProcInfo = 0x000003F0,
  1619.         uppSGPanelGetTitleProcInfo = 0x000003F0,
  1620.         uppSGPanelCanRunProcInfo = 0x000003F0,
  1621.         uppSGPanelInstallProcInfo = 0x00002FF0,
  1622.         uppSGPanelEventProcInfo = 0x000FEFF0,
  1623.         uppSGPanelItemProcInfo = 0x0000AFF0,
  1624.         uppSGPanelRemoveProcInfo = 0x00002FF0,
  1625.         uppSGPanelSetGrabberProcInfo = 0x000003F0,
  1626.         uppSGPanelSetResFileProcInfo = 0x000002F0,
  1627.         uppSGPanelGetSettingsProcInfo = 0x00003FF0,
  1628.         uppSGPanelSetSettingsProcInfo = 0x00003FF0,
  1629.         uppSGPanelValidateInputProcInfo = 0x000003F0,
  1630.         uppSGPanelSetEventFilterProcInfo = 0x00000FF0,
  1631.         uppSGGetSrcVideoBoundsProcInfo = 0x000003F0,
  1632.         uppSGSetVideoRectProcInfo = 0x000003F0,
  1633.         uppSGGetVideoRectProcInfo = 0x000003F0,
  1634.         uppSGGetVideoCompressorTypeProcInfo = 0x000003F0,
  1635.         uppSGSetVideoCompressorTypeProcInfo = 0x000003F0,
  1636.         uppSGSetVideoCompressorProcInfo = 0x0003FEF0,
  1637.         uppSGGetVideoCompressorProcInfo = 0x0003FFF0,
  1638.         uppSGGetVideoDigitizerComponentProcInfo = 0x000000F0,
  1639.         uppSGSetVideoDigitizerComponentProcInfo = 0x000003F0,
  1640.         uppSGVideoDigitizerChangedProcInfo = 0x000000F0,
  1641.         uppSGSetVideoBottlenecksProcInfo = 0x000003F0,
  1642.         uppSGGetVideoBottlenecksProcInfo = 0x000003F0,
  1643.         uppSGGrabFrameProcInfo = 0x000002F0,
  1644.         uppSGGrabFrameCompleteProcInfo = 0x00000EF0,
  1645.         uppSGDisplayFrameProcInfo = 0x00003EF0,
  1646.         uppSGCompressFrameProcInfo = 0x000002F0,
  1647.         uppSGCompressFrameCompleteProcInfo = 0x00003EF0,
  1648.         uppSGAddFrameProcInfo = 0x0000FEF0,
  1649.         uppSGTransferFrameForCompressProcInfo = 0x00003EF0,
  1650.         uppSGSetCompressBufferProcInfo = 0x00000EF0,
  1651.         uppSGGetCompressBufferProcInfo = 0x00000FF0,
  1652.         uppSGGetBufferInfoProcInfo = 0x0003FEF0,
  1653.         uppSGSetUseScreenBufferProcInfo = 0x000001F0,
  1654.         uppSGGetUseScreenBufferProcInfo = 0x000003F0,
  1655.         uppSGGrabCompressCompleteProcInfo = 0x00003FF0,
  1656.         uppSGDisplayCompressProcInfo = 0x0000FFF0,
  1657.         uppSGSetFrameRateProcInfo = 0x000003F0,
  1658.         uppSGGetFrameRateProcInfo = 0x000003F0,
  1659.         uppSGSetPreferredPacketSizeProcInfo = 0x000003F0,
  1660.         uppSGGetPreferredPacketSizeProcInfo = 0x000003F0,
  1661.         uppSGSetUserVideoCompressorListProcInfo = 0x000003F0,
  1662.         uppSGGetUserVideoCompressorListProcInfo = 0x000003F0,
  1663.         uppSGSetSoundInputDriverProcInfo = 0x000003F0,
  1664.         uppSGGetSoundInputDriverProcInfo = 0x000000F0,
  1665.         uppSGSoundInputDriverChangedProcInfo = 0x000000F0,
  1666.         uppSGSetSoundRecordChunkSizeProcInfo = 0x000003F0,
  1667.         uppSGGetSoundRecordChunkSizeProcInfo = 0x000000F0,
  1668.         uppSGSetSoundInputRateProcInfo = 0x000003F0,
  1669.         uppSGGetSoundInputRateProcInfo = 0x000000F0,
  1670.         uppSGSetSoundInputParametersProcInfo = 0x00003AF0,
  1671.         uppSGGetSoundInputParametersProcInfo = 0x00003FF0,
  1672.         uppSGSetAdditionalSoundRatesProcInfo = 0x000003F0,
  1673.         uppSGGetAdditionalSoundRatesProcInfo = 0x000003F0,
  1674.         uppSGSetFontNameProcInfo = 0x000003F0,
  1675.         uppSGSetFontSizeProcInfo = 0x000002F0,
  1676.         uppSGSetTextForeColorProcInfo = 0x000003F0,
  1677.         uppSGSetTextBackColorProcInfo = 0x000003F0,
  1678.         uppSGSetJustificationProcInfo = 0x000002F0,
  1679.         uppSGGetTextReturnToSpaceValueProcInfo = 0x000003F0,
  1680.         uppSGSetTextReturnToSpaceValueProcInfo = 0x000002F0,
  1681.         uppSGGetInstrumentProcInfo = 0x000003F0,
  1682.         uppSGSetInstrumentProcInfo = 0x000003F0
  1683.     };
  1684.  
  1685. #endif    /* SG_BASENAME */
  1686.  
  1687. /*
  1688.     Example usage:
  1689.  
  1690.         #define QTVIDEOOUTPUT_BASENAME()    Fred
  1691.         #define QTVIDEOOUTPUT_GLOBALS()    FredGlobalsHandle
  1692.         #include <QuickTimeComponents.k.h>
  1693.  
  1694.     To specify that your component implementation does not use globals, do not #define QTVIDEOOUTPUT_GLOBALS
  1695. */
  1696. #ifdef QTVIDEOOUTPUT_BASENAME
  1697.     #ifndef QTVIDEOOUTPUT_GLOBALS
  1698.         #define QTVIDEOOUTPUT_GLOBALS() 
  1699.         #define ADD_QTVIDEOOUTPUT_COMMA 
  1700.     #else
  1701.         #define ADD_QTVIDEOOUTPUT_COMMA ,
  1702.     #endif
  1703.     #define QTVIDEOOUTPUT_GLUE(a,b) a##b
  1704.     #define QTVIDEOOUTPUT_STRCAT(a,b) QTVIDEOOUTPUT_GLUE(a,b)
  1705.     #define ADD_QTVIDEOOUTPUT_BASENAME(name) QTVIDEOOUTPUT_STRCAT(QTVIDEOOUTPUT_BASENAME(),name)
  1706.  
  1707.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayModeList) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * outputs);
  1708.  
  1709.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetCurrentClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1710.  
  1711.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ConstStr255Param  str);
  1712.  
  1713.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1714.  
  1715.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(Begin) (QTVIDEOOUTPUT_GLOBALS());
  1716.  
  1717.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(End) (QTVIDEOOUTPUT_GLOBALS());
  1718.  
  1719.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  displayModeID);
  1720.  
  1721.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long * displayModeID);
  1722.  
  1723.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(CustomConfigureDisplay) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ModalFilterUPP  filter);
  1724.  
  1725.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SaveState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * state);
  1726.  
  1727.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(RestoreState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer  state);
  1728.  
  1729.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorld) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA GWorldPtr * gw);
  1730.  
  1731.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorldParameters) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Ptr * baseAddr, long * rowBytes, CTabHandle * colorTable);
  1732.  
  1733.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetIndSoundOutput) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  index, Component * outputComponent);
  1734.  
  1735.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClock) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ComponentInstance * clock);
  1736.  
  1737.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetEchoPort) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA CGrafPtr  echoPort);
  1738.  
  1739.  
  1740.     /* MixedMode ProcInfo constants for component calls */
  1741.     enum {
  1742.         uppQTVideoOutputGetDisplayModeListProcInfo = 0x000003F0,
  1743.         uppQTVideoOutputGetCurrentClientNameProcInfo = 0x000003F0,
  1744.         uppQTVideoOutputSetClientNameProcInfo = 0x000003F0,
  1745.         uppQTVideoOutputGetClientNameProcInfo = 0x000003F0,
  1746.         uppQTVideoOutputBeginProcInfo = 0x000000F0,
  1747.         uppQTVideoOutputEndProcInfo = 0x000000F0,
  1748.         uppQTVideoOutputSetDisplayModeProcInfo = 0x000003F0,
  1749.         uppQTVideoOutputGetDisplayModeProcInfo = 0x000003F0,
  1750.         uppQTVideoOutputCustomConfigureDisplayProcInfo = 0x000003F0,
  1751.         uppQTVideoOutputSaveStateProcInfo = 0x000003F0,
  1752.         uppQTVideoOutputRestoreStateProcInfo = 0x000003F0,
  1753.         uppQTVideoOutputGetGWorldProcInfo = 0x000003F0,
  1754.         uppQTVideoOutputGetGWorldParametersProcInfo = 0x00003FF0,
  1755.         uppQTVideoOutputGetIndSoundOutputProcInfo = 0x00000FF0,
  1756.         uppQTVideoOutputGetClockProcInfo = 0x000003F0,
  1757.         uppQTVideoOutputSetEchoPortProcInfo = 0x000003F0
  1758.     };
  1759.  
  1760. #endif    /* QTVIDEOOUTPUT_BASENAME */
  1761.  
  1762.  
  1763. #endif /* ___QUICKTIMECOMPONENTS_K__ */
  1764.  
  1765.